package com.woniu.cms.contract.core.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author maple leaf
 * @since 2022-09-17
 */
@Getter
@Setter
  @TableName("cms_contract_undertake_contract")
@ApiModel(value = "UndertakeContract对象", description = "")
public class UndertakeContract implements Serializable {

    private static final long serialVersionUID = 1L;

      @ApiModelProperty("承接合同Id")
        @TableId(value = "id", type = IdType.AUTO)
      private Integer id;

      @ApiModelProperty("框架合同编号")
      private String frameworkContractCode;

      @ApiModelProperty("框架合同名称")
      private String frameworkContractName;

      @ApiModelProperty("承接合同编号")
      private String undertakeContractCode;

      @ApiModelProperty("承接合同名称")
      private String undertakeContractName;

      @ApiModelProperty("建设方合同编号")
      private String constructionUnitContractCode;

      @ApiModelProperty("承接合同签订日期")
      private Date signingDate;

      @ApiModelProperty("客户名称")
      private String clientName;

      @ApiModelProperty("运营商")
      private String operater;

      @ApiModelProperty("地区")
      private String region;

      @ApiModelProperty("专业")
      private String major;

      @ApiModelProperty("合同金额(元)")
      private BigDecimal contractAmount;

      @ApiModelProperty("总投资金额(元)")
      private BigDecimal totalInvestment;

      @ApiModelProperty("施工费(元)")
      private BigDecimal constructionFee;

      @ApiModelProperty("材料费(元)")
      private BigDecimal materialsExpenses;

      @ApiModelProperty("其他费用(元)")
      private BigDecimal otherFees;

      @ApiModelProperty("地址")
      private String location;

      @ApiModelProperty("建设单位任务书文号")
      private String constructionUnitDocumentCode;

      @ApiModelProperty("客户经理")
      private String customerManager;

      @ApiModelProperty("合同审批状态(0-审批中 1-通过 2-驳回)")
      private Integer state;

      @ApiModelProperty("是否签订(0-否 1-是)")
      private Integer signed;

      @ApiModelProperty("是否关联交易(0-否 1-是)")
      private Integer affiliateTransaction;

      @ApiModelProperty("合同类型(0-虚拟合同 1-正式合同)")
      private Integer contractType;

      @ApiModelProperty("合同甲方")
      private String contractPartyA;

      @ApiModelProperty("甲方联系人")
      private String partyAContactPerson;

      @ApiModelProperty("部门")
      private String department;

      @ApiModelProperty("联系电话")
      private String phone;

      @ApiModelProperty("邮箱")
      private String email;

      @ApiModelProperty("传真号码")
      private String fax;

      @ApiModelProperty("预计合同金额(元)")
      private BigDecimal estimatedContractAmount;

      @ApiModelProperty("预计总投资金额(元)")
      private BigDecimal estimatedTotalInvestment;

      @ApiModelProperty("本公司拓展单位")
      private String marketDevelopmentUnit;

      @ApiModelProperty("签订单位")
      private String signingUnit;

      @ApiModelProperty("项目来源(0-投标 1-委托 2-其他)")
      private Integer projectSources;

      @ApiModelProperty("投标项目名称(如果项目来源是投标，则填写)")
      private String tenderProjectName;

      @ApiModelProperty("建议实施单位")
      private String suggestCarryOutUnit;

      @ApiModelProperty("保证金回收金额")
      private BigDecimal giveBackBond;

      @ApiModelProperty("保证金归还日期")
      private Date giveBackBondTime;

      @ApiModelProperty("保证金说明")
      private String giveBackBondExplain;

      @ApiModelProperty("备注")
      private String remarks;

      @ApiModelProperty("经办人")
      private String managers;

      @ApiModelProperty("经办时间")
      private Date submitTime;

      @ApiModelProperty("0-虚拟合同、1-合同会签、2-正式合同")
      private Integer contractState;

}
